package com.sketch.controller;

import cn.dev33.satoken.stp.SaLoginConfig;
import cn.dev33.satoken.stp.StpUtil;
import com.sketch.commom.CodeMsg;
import com.sketch.commom.Result;
import com.sketch.service.PayServer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/user/")
public class UserController {

    @Autowired
    private PayServer payServer;

    // 测试登录，浏览器访问： http://localhost:8081/user/doLogin?username=zhang&password=123456
    @RequestMapping("doLogin")
    public Result doLogin(String username, String password) {
        // 此处仅作模拟示例，真实项目需要从数据库中查询数据进行比对 
        if ("zhang".equals(username) && "123456".equals(password)) {
            StpUtil.login(10001, SaLoginConfig
                    .setExtra("name", "zhangsan")
                    .setExtra("age", 18)
                    .setExtra("role", "超级管理员"));
            return Result.success(StpUtil.getTokenInfo());
        }
        return Result.error(CodeMsg.FAIL);
    }

    // 查询登录状态，浏览器访问： http://localhost:8081/user/isLogin
    @RequestMapping("isLogin")
    public Result isLogin() {
        return Result.success("当前会话是否登录：" + StpUtil.isLogin());
    }

    // 查询登录状态，浏览器访问： http://localhost:8081/user/isLogin
    @RequestMapping("payTest")
    public Result payTest() {
        //payServer.pay();
        return Result.success("当前会话是否登录：" + StpUtil.isLogin());
    }

}